<?php

class EmpleadosController extends AppController {

    public $helpers = array('Html', 'Form', 'Session', 'Js');
    public $uses = array('Empleado');
    public $layout = 'default';

    /* function beforeFilter(){
      $this->checksession();
      $this->permisosusuarios();

      } */

    function index() {
        $this->paginate = array('Empleado' => array('limit' => 30));
        $this->set('empleados', $this->paginate('Empleado'));
    }

    function insertar() {

        if (!empty($this->data)):

            $this->Empleado->create();

            if ($this->Empleado->save($this->data)) {

                $this->Session->setFlash('Usuario registrado!!!!!');
                $this->redirect(array('action' => 'index'), null, true);
            } else {
                $this->Session->setFlash('No se pudo registrar!!!');
            }


        endif;
        $opt = array('1' => 'Alta', '0' => 'Baja');

        $this->set(compact('opt'));
    }

    function editar($id = null) {
        $this->Empleado->id = $id;
        if (!$id) {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->data)) {
            $this->data = $this->Empleado->read(); //find(array('id' => $id));
        } else {

            if ($this->Empleado->save($this->data)) {
                $this->Session->setFlash('Los datos fueron modificados');
                $this->redirect(array('action' => 'index'), null, true);
            } else {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
        $opt = array('1' => 'Alta', '0' => 'Baja');

        $this->set(compact('opt'));
    }

    function baja($id = null) {

        $this->Empleado->id = $id;
        if (!$id) {
            $this->Session->setFlash('No se pudo dar de baja');
            $this->redirect(array('action' => 'index'), null, true);
        }

        $estado = 0;
        $this->request->data['Empleado']['estado'] = $estado;

        if ($this->Empleado->save($this->data)) {
            $this->Session->setFlash('Los datos fueron modificados');
            $this->redirect(array('action' => 'index'), null, true);
        } else {
            $this->Session->setFlash('no se pudo modificar!!');
        }
    }

    function alta($id = null) {

        $this->Empleado->id = $id;
        if (!$id) {
            $this->Session->setFlash('No se pudo dar de baja');
            $this->redirect(array('action' => 'index'), null, true);
        }

        $estado = 1;
        $this->request->data['Empleado']['estado'] = $estado;

        if ($this->Empleado->save($this->data)) {
            $this->Session->setFlash('Los datos fueron modificados');
            $this->redirect(array('action' => 'index'), null, true);
        } else {
            $this->Session->setFlash('no se pudo modificar!!');
        }
    }

    function eliminar($id = null) {
        if (!$id) {
            $this->Session->setFlash('id Invalida para reclamo');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if ($this->Usuario->delete($id)) {
            $this->Session->setFlash('El usuario  ' . $id . ' fue borrado');
            $this->redirect(array('action' => 'index'), null, true);
        }
    }

    function imprime() {
        $this->layout = 'ajax';
    }

    function buscar() {
        // debug($this->data);
        $data = $this->data['dato'];
        $data1 = $this->data['estado'];
        $tipo = $this->data['tipo'];

        if ($this->data['estado'] != null) {
            if ($data != null) {
                $options = array('Usuario.estado' => $data1,
                    'OR' => array(
                        'Usuario.nombre LIKE' => '%' . $data . '%',
                        'Usuario.nombre LIKE' => '%' . $data . '%',
                        'Usuario.usuario LIKE' => '%' . $data . '%',
                        'Usuario.ci LIKE' => '%' . $data . '%',
                        'Usuario.correo LIKE' => '%' . $data . '%'
                    )
                );
            } else {
                $options = array('Usuario.estado' => $data1);
            }
        } elseif ($tipo != null) {
            if ($data != null) {
                $options = array('Tipousuario.id' => $tipo,
                    'OR' => array(
                        'Usuario.nombre LIKE' => '%' . $data . '%',
                        'Usuario.nombre LIKE' => '%' . $data . '%',
                        'Usuario.usuario LIKE' => '%' . $data . '%',
                        'Usuario.ci LIKE' => '%' . $data . '%',
                        'Usuario.correo LIKE' => '%' . $data . '%'
                    )
                );
            } else {
                $options = array(
                    'Tipousuario.id' => $tipo);
            }
        } else {
            $options = array(
                'OR' => array(
                    'Usuario.nombre LIKE' => '%' . $data . '%',
                    'Usuario.nombre LIKE' => '%' . $data . '%',
                    'Usuario.usuario LIKE' => '%' . $data . '%',
                    'Usuario.ci LIKE' => '%' . $data . '%',
                    'Usuario.correo LIKE' => '%' . $data . '%'
                )
            );
        }






        $result = $this->Usuario->find('all', array('conditions' => array($options)));
        // debug($result);exit;

        $this->set('all', $result);
    }

}
?>